package com.easyCode.sqlBuilder.oop;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author 大忽悠
 * @create 2022/12/8 20:29
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(value = ElementType.FIELD)
public @interface Key {
    /**
     * 索引类型
     */
    String keyType() default "";
    /**
     * 索引名
     */
    String keyName() default  "";
    /**
     * 索引列: 默认包含当前字段,通过该属性指定其他字段---对于复合索引而言
     */
    String[] otherColumns() default {};


    //-----------外键索引----------------

    /**
     * 主表名
     */
    String masterTableName() default "";
    /**
     * 受约束的主表字段
     */
    String[] masterColumns() default {};
    /**
     * 受约束从表字段: 默认包含当前字段,通过该属性指定其他字段,对于复合索引而言
     */
    String[] otherSalveColumns() default {};
}
